import axios from "axios";
import router from "../router/"
const instance = axios.create({
    timeout: 4000,
    baseURL: "http://118.190.210.28:8080/"

    // baseURL: "/"
})

// 添加请求拦截器
instance.interceptors.request.use(
    function(config) {
        const token = sessionStorage.getItem("token")
        config.headers["Authorization"] = "Bearer " + token
            // 在发送请求之前做些什么
        return config
    },
    function(error) {
        // 对请求错误做些什么

        return Promise.reject(error)
    }
)

// 添加响应拦截器
instance.interceptors.response.use(
    (response) => {
        if (response.data.token) {
            sessionStorage.setItem("token", response.data.token)
        }
        return response
    },
    (error) => {
        // 批量处理所有的错误情况
        if (error.response.status === 401) {
            // 未登录，或者 token 非法
            sessionStorage.removeItem("token")
            router.push("/login")
        } else if (error.response.status === 403) {
            console.log(403)
        } else if (error.response.status === 404) {
            console.log(404)
        } else if (error.response.status === 408) {
            console.log(408)
        } else if (error.response.status === 500) {
            console.log(500)
        }

        return Promise.reject(error)
    }
)

export default instance